package main

import "fmt"

// func yuanshuai(name string) {
// 	fmt.Println(name)
// }
// func lixiang(f func(string), name string) {
// 	f(name)
// }
func f1(name string) int {
	a := 5
	fmt.Println(name)
	return a
}

// func f2(f func()) {
// 	f()
// 	// fmt.Println(a)
// }

func f3(f func(string) int, name string) func() {
	return func() {
		f(name)
		// fmt.Println(a)
	}
}
func main() {
	ret := f3(f1, "理想")
	ret()
	fmt.Printf("%T", f3)
	// f2(aa)
	// fmt.Println(f1("name"))
}
